Skip to main content
Version: Next

Registro de decisiones arquitectónicas - HyperFormula & SheetJS


Seleccionar que tecnología vamos a usar para la implementación de fórmulas.

Status: Aceptado
Encargados: Juan Pablo Chávez Leal
Fecha: s.f.

Contexto y problema

Una breve explicación acerca del problema a resolver
Para manejar el uso de fórmulas de Excel dentro de una aplicación de escritorio, debemos seleccionar algun tecnología que permita eso, ya que las fórmulas tienen una nomenclatura muy diferente a cualquiera de JS.

Impulsores de decisiones

Lista de cosas que necesitas considerar para elegir una opción

Opciones consideradas

Lista de las opciones con una pequeña descripción

HyperFormula

HyperFormula es un framework que fue diseñado con el único enfoque de la ejecución nativa de fórmulas de Excel, soporta muchas funciones y características de Excel, haciendolo perfecto para el proyecto.

Proto-lenguaje

Proto-lenguaje se refiere a crear nuestro propio ejecutor de fórmulas, el equipo tenía pensado no utilizar directamente excel, sino crear algo que simulara el uso de excel y pudiera generar los resultados esperados.

SheetJS

SheetJS fue la primera opción que surgió, principalmente porque la mayoría de los integrantes ya la habrían utilizado, además de ser uno de los mayores frameworks para asimilar Excel, especialmente para la lectura y escritura en archivos de Excel.

Resultado de la decisión

Explicación acerca de cuál opción fue seleccionada Se seleccionó HyperFormula porque se adapta perfectamente a nuestra necesidad, aunque sí existen algunos puntos en donde puede flaquear.

Consecuencias positivas

Lista de consecuencias positivas que introduce la opción seleccionada

  • Permite ejecutar las fórmulas que ya tienen en nuestra aplicación.
  • No tiene una interfaz visual, que parece negativo, pero no tenemos planeado implementar alguna.
  • Tiene altas capacidades de calculo, logrando calcular hasta 120 funciones anidadas.
  • Permite definir tus propias fórmulas.

Consecuencias negativas

Lista de consecuencias negativas que introduce la opción seleccionada

  • No tiene integrado la persistencia de archivos.
  • No maneja tablas, característica de Excel que el socio suele implementar.
  • Curva de aprendizaje, puede llegar a ser confuso su uso.

Lista de recursos relevantes para aprender de cada opción
Sitio oficial deHyperFormula Sitio oficial de SheetJS


Historial de cambios

Tipo de VersiónDescripciónFechaColaborador
1.0Se agregó otra decisión31/5/2025Juan Pablo Chávez Leal